超详细的k8s对接ceph RBD存储

您所在的位置:网站首页 k8s ceph存储 超详细的k8s对接ceph RBD存储

超详细的k8s对接ceph RBD存储

2024-07-14 04:27:49| 来源: 网络整理| 查看: 265

前期准备 对接方式

有两种方式可以使用k8s对接ceph

使用第三方的rbd provisioner,但是由于官方已经不再进行维护因此随着版本越来越高,其对应的rbd provisioner内置的ceph-common版本已经跟不上ceph的版本了,现在其内置的ceph-common版本是m版,如果集群是m版可以考虑使用使用官方的ceph csi,一直在更新,推荐使用,本文使用的就是该种方法 ceph-csi版本选择

一定要记得k8s的版本与ceph-csi对应!否则会有很多bug

现阶段对应ceph csi与k8s版本对应如下:

在这里插入图片描述

对于ceph集群最好是N版以及更高的版本

选择对应版本之后,仓库版本也要进行选择,比如我此次选择的是3.5.1版本,那么仓库版本需要选择3.5版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjrEVAuF-1648912578117)(https://raw.githubusercontent.com/CooperXJ/ImageBed/master/img/20220402225936.png)]

不要git clone代码,我们用到的就是deploy目录下的内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acWEJW86-1648912578123)(https://raw.githubusercontent.com/CooperXJ/ImageBed/master/img/20220402230052.png)]

镜像源

国内的推荐:

搭建环境(以RBD为例)

将ceph-csi/deploy/rbd/kubernetes/下的所有yaml文件拷贝到本地

创建csi-config-map.yaml

clusterID就是集群ID,ceph -s即可获得

--- apiVersion: v1 kind: ConfigMap data: config.json: |- [ { "clusterID": "2a5306a8-885f-40b7-91f6-ec9410b53d3c", "monitors": [ "10.20.20.103:6789", "10.20.20.104:6789", "10.20.20.105:6789" ] } ] metadata: name: ceph-csi-config

创建csi-kms-config-map.yaml,也可以不创建,但是需要将csi-rbdplugin-provisioner.yaml和csi-rbdplugin.yaml中kms有关内容注释掉

--- apiVersion: v1 kind: ConfigMap data: config.json: |- {} metadata: name: ceph-csi-encryption-kms-config

创建ceph-config-map.yaml

ceph.conf就是复制ceph集群的配置文件,也就是/ect/ceph/ceph.conf文件中的对应内容

--- apiVersion: v1 kind: ConfigMap data: ceph.conf: | [global] fsid = 2a5306a8-885f-40b7-91f6-ec9410b53d3c public_network = 10.20.20.0/24 mon_initial_members = server103 mon_host = 10.20.20.103 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx # keyring is a required key and its value should be empty keyring: | metadata: name: ceph-config

创建csi-rbd-secret.yaml

--- apiVersion: v1 kind: Secret metadata: name: csi-rbd-secret namespace: default stringData: userID: kubernetes userKey: AQA18kdi+4iYHhAAbRmfkKJ/XvB1PdYTTBEdwA== encryptionPassphrase: test_passphrase

其中的userID与userKey通过以下方式获取

创建存储池

ceph osd pool create k8s 128 128 rbd pool init k8s

创建并授权认证用户

ceph auth get-or-create client.kubernetes mon 'profile rbd' osd 'profile rbd pool=k8s' mgr 'profile rbd pool=k8s'

这里的kubernetes就是userID,对应的key为userKey

apply以上的所有文件

一共如下:

ceph-csi/deploy/rbd/kubernetes/ (github上的文件)csi-config-map.yamlcsi-kms-config-map.yaml (可有可无)ceph-config-map.yamlcsi-rbd-secret.yaml

创建storageclass

--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-rbd-sc provisioner: rbd.csi.ceph.com parameters: clusterID: 2a5306a8-885f-40b7-91f6-ec9410b53d3c pool: k8s #之前创建pool的名称 imageFeatures: layering csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret csi.storage.k8s.io/provisioner-secret-namespace: default csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret csi.storage.k8s.io/controller-expand-secret-namespace: default csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret csi.storage.k8s.io/node-stage-secret-namespace: default csi.storage.k8s.io/fstype: ext4 reclaimPolicy: Delete allowVolumeExpansion: true mountOptions: - discard

创建pvc

--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rbd-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: csi-rbd-sc


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭